// Copyright  2004-2008 Backplane Ltd.
//
// This file is part of Ubiquity formsPlayer
//
// Ubiquity formsPlayer is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3 of the License, or (at your
// option) any later version.
//
// Ubiquity formsPlayer is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
// more details.
//
// You should have received a copy of the GNU General Public License
// along with Ubiquity formsPlayer If not, see <http://www.gnu.org/licenses/>.
//	
//
//   Purpose: implementation of CXFormsParseBind.
//   $Id$


#include "stdafx.h"
#include "parseBind.h"
#include "ImplBind.h"
#include "tags.h"

CXFormsParseBind::CXFormsParseBind(CImplBind * pImpl)
		: CXFormsParse( pImpl)
	{
		addAttributeCheck(ATTR_NODESET, &pImpl->m_sRef);
		addAttributeCheck(ATTR_TYPE, &pImpl->m_sType);
		addAttributeCheck(ATTR_READONLY, &pImpl->m_sReadOnly);
		addAttributeCheck(ATTR_REQUIRED, &pImpl->m_sRequired);
		addAttributeCheck(ATTR_RELEVANT, &pImpl->m_sRelevant);
		addAttributeCheck(ATTR_ISVALID, &pImpl->m_sConstraint);
		addAttributeCheck(ATTR_CALCULATE, &pImpl->m_sCalculate);
	};

void CXFormsParseBind::CheckElement(IHTMLElement *pElem, BSTR sTag, CImpl* pImpl)
{
	if (TAG_BIND  == sTag)
	{
		CImplBind * pBind = new CImplBind(pImpl->m_pModel);
		CXFormsParseBind parse(pBind);
		pBind->m_pXForms = pImpl->m_pXForms;
		parse.Parse(pElem,pBind);
		((CImplBind*)pImpl)->AddBind(pBind);
	}
}
